iT邦幫忙

2025 iThome 鐵人賽

DAY 2
1
Software Development

用作業系統讀懂另一半的OS系列 第 2

【2025鐵人賽】用作業系統讀懂另一半的OS:Overview 01

  • 分享至 

  • xImage
  •  

電腦系統組織

我們會從最電腦系統組織開始談起。現代電腦系統主要涵蓋一個或多個 CPU,多個裝置控制器(device controller),並透過系統匯流排(bus)連接彼此與記憶體(memory)。每個controller責一類裝置(如:磁碟、音訊、圖形),有些控制器可同時連接多個裝置(例如 USB hub)。

這些裝置控制器(device controller)內部會有緩衝區(local buffer)與特殊暫存器(registers),負責與其裝置間的資料搬移。而作業系統為每個控制器提供驅動程式(device driver),讓OS能以一致的方式管理不同裝置。下面這張就是經典的PC架構。

https://ithelp.ithome.com.tw/upload/images/20250722/20177764GEfmppBauC.png

也因此,我們可以將計算機系統可以粗略分為四個部分:

  • 硬體(hardware):CPU、記憶體與 I/O 裝置,提供資源。
  • 作業系統(operating system):協調硬體與應用程式的使用。
  • 應用程式(application programs):如文字處理器、編譯器、網頁瀏覽器等。
  • 使用者(user):對就是我們這些敲鍵盤按滑鼠的。

https://ithelp.ithome.com.tw/upload/images/20250722/201777649aFGY23X86.png

不同角色對OS的觀點

那我們反過來,以電腦系統組織的角度去看OS,大致可以分為兩種觀點:

第一,以一般使用者(User View)而言,作業系統就是操作電腦的介面,例如透過螢幕、鍵盤與滑鼠來執行應用程式。大多數使用者不會關心系統資源如何被共享或分配。因此,作業系統的設計重點在於提升使用便利性(ease of use),接著才考量效能(performance)與安全性(security)

第二,以系統觀點(System View)而言,作業系統是最貼近硬體的程式管理並分配各種硬體資源。可以再進一步細分:

  1. OS作為資源分配者(Resource Allocator):OS管理並分配各種硬體資源,例如CPU 時間、記憶體、儲存空間、I/O 裝置,目標是追求資源使用的效率(efficiency)與公平性(fairness)。
  2. OS作為控制程式(Control Program):控制使用者程式的執行,防止錯誤行為與不當資源使用。尤其是對 I/O 裝置的直接操作,需特別加以管理與保護。

作業系統提供的服務

OS的其中一個目的,便是要提供一個方便且高效的環境讓程式得以執行,也因此,OS對「使用者」與「程式」都提供一組共通的基本服務。這些服務可以分為「幫助使用者與應用程式的服務」與「幫助系統自身運作效率的服務」:

Table:幫助使用者與應用程式的服務

服務名稱 說明
使用者介面 (User Interface) 提供 GUI(圖形介面)、CLI(命令列介面),或觸控式介面,讓使用者與系統互動。
程式執行 (Program Execution) 載入程式到記憶體並執行它。若程式執行完成或錯誤終止,OS 需能處理終結程序。
輸入/輸出操作 (I/O Operations) 管理所有 I/O 裝置。由於使用者無法直接操作硬體,因此 OS 必須提供中介方法來進行 I/O。
檔案系統操作 (File-System Manipulation) 提供建立、讀寫、搜尋、刪除檔案與資料夾的功能,也包含權限控管(誰可以存取哪些檔案)。
程式間通訊 (Communications) 同一台機器程式之間需溝通,可透過「共享記憶體」或「訊息傳遞(message passing)」來完成。
錯誤偵測 (Error Detection) 作業系統需持續監控錯誤,包括硬體錯誤(如記憶體或網路)、I/O 錯誤(如印表機沒紙)、或程式錯誤(如存取非法記憶體)。有時必須終止程式,有時可回傳錯誤代碼讓程式自行處理。

Table:幫助系統自身運作效率的服務

服務名稱 說明
資源分配 (Resource Allocation) 當多個程序同時執行,系統要分配 CPU、記憶體、磁碟等資源。使用排程演算法(如 CPU scheduling)與資源管理方法。
使用記錄與帳務 (Accounting) 系統紀錄每個程式使用了多少資源,例如:CPU 時間、記憶體、磁碟空間等,用來做帳務分析或統計。
保護與安全 (Protection and Security) 確保不同程序間無法任意干擾彼此,也防止非法使用者入侵系統。包括帳號密碼登入、權限控制、防火牆等。

上一篇
【2025鐵人賽】用作業系統讀懂另一半的OS:前言
下一篇
【2025鐵人賽】用作業系統讀懂另一半的OS:Overview 02
系列文
用作業系統讀懂另一半的OS30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言